【python】pyQT5下lineEdit对话框无法限制输入范围问题的解决方法

您所在的位置:网站首页 pyqt5 lineedit获取不了输入的数值 【python】pyQT5下lineEdit对话框无法限制输入范围问题的解决方法

【python】pyQT5下lineEdit对话框无法限制输入范围问题的解决方法

2024-07-16 10:14| 来源: 网络整理| 查看: 265

pyQT5下QIntValidator无法限制输入范围 在实际使用中,需要对输入的数据进行一个范围的校正,比如仅允许输入0~255之间的数字。 使用了标准的QIntValidator方法,发现还是能够输入超过255的数字 最终解决方案采用了正则表达式进行构建。 对比程序代码如下:

from PyQt5.QtCore import QRegExp from PyQt5.QtGui import QRegExpValidator, QIntValidator from PyQt5.QtWidgets import * import sys class QLineEditValidator(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle("文本限定输入") formLayout = QFormLayout() LineEdit1 = QLineEdit() LineEdit2 = QLineEdit() # 方法一:使用QIntValidator LineEdit1.setValidator(QIntValidator(0,255)) # 方法二:使用正则表达式 regExp = QRegExp('^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$') uCharValidator = QRegExpValidator(regExp) LineEdit2.setValidator(uCharValidator) # 文本输入框添加到表单布局上 formLayout.addRow("QIntValidator", LineEdit1) formLayout.addRow("正则表达式", LineEdit2) self.setLayout(formLayout) if __name__ == '__main__': app = QApplication(sys.argv) main = QLineEditValidator() main.show() sys.exit(app.exec_())

同样输入299,结果如下: 在这里插入图片描述

0-255正则表达式: ^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$

HEX正则表达式 [a-fA-F0-9]+$



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3